home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-19 | 5.6 KB | 248 lines | [TEXT/MPS ] |
-
- /*
- * This file was generated by the SOM Compiler.
- * FileName: Locrian:WWDCSun:CPlusPlus:ODCtr.xh.
- * Generated using:
- * SOM Precompiler somipc: somc/smemit.c
- * SOM Emitter emitxh.dll: somc/smmain.c
- */
-
- /*
- *
- * Constants
- *
- */
-
-
- #ifndef SOM_ODContainer_xh
- #define SOM_ODContainer_xh
-
- class ODContainer;
-
- #define ODContainer_MajorVersion 0
- #define ODContainer_MinorVersion 0
-
- /* C++ som defs */
- #include <somcls.xh>
-
- /* Include C++ parent defs */
- #ifndef SOM_ODRefCntObject_xh
- #include <RefCtObj.xh>
- #endif
-
- #ifndef ODContainer_API
- #define ODContainer_API
- /*
- * -- The Class API
- */
-
- /*
- * Start of user-defined types:
- */
- class ODExtension;
- class ODStorageSystem;
- class ODStorageUnitCursor;
- class ODLinkSource;
- class ODSession;
- class ODStorageUnitRefIterator;
- class ODLink;
- class ODPart;
- class ODStorageUnitView;
- class ODLinkSpec;
- class ODFrame;
- class ODShape;
-
- /*
- * End of user-defined types.
- */
-
- #if applec ^ PRAGMA_LIB_EXPORT
- #pragma lib_export on
- #endif
-
-
- /* A procedure to create the ODContainer Class */
- SOMEXTERN SOMClass * SOMLINK ODContainerNewClass(
- integer4 majorVersion,
- integer4 minorVersion);
-
- /* The API to the ODContainer class object, and the methods it introduces. */
- typedef struct ODContainerClassDataStructure {
- SOMClass *classObject;
- somMToken GetStorageSystem;
- somMToken GetID;
- somMToken GetName;
- somMToken SetName;
- somMToken GetDocument;
- somMToken InitContainer;
- somMToken Create;
- somMToken Open;
- somMToken Close;
- somMToken ReleaseDocument;
- } ODContainerClassDataStructure;
- #ifdef SOM_NO_DATA_EXPORTS
- SOMEXTERN ODContainerClassDataStructure * ODContainerGetClassData ( void );
- # undef ODContainerClassData
- # define ODContainerClassData (*ODContainerGetClassData())
- #else
- SOMEXTERN ODContainerClassDataStructure ODContainerClassData;
- #endif /* SOM_NO_DATA_EXPORTS */
-
- #if applec ^ PRAGMA_LIB_EXPORT
- #pragma lib_export off
- #endif
-
- #define _ODContainer ODContainerClassData.classObject
-
- /* The API to parentMtabs for ODContainer, and the instance data it introduces. */
- SOMEXTERN struct ODContainerCClassDataStructure {
- somMethodTabs parentMtab;
- somDToken instanceDataToken;
- } ODContainerCClassData;
-
- /*
- * -- Typedefs for Procedures that support Methods introduced by ODContainer
- */
- SOMEXTERN {
- typedef ODStorageSystem* (* SOMLINK somTD_ODContainer_GetStorageSystem)(ODContainer *somSelf, Environment *ev);
- typedef ODContainerID (* SOMLINK somTD_ODContainer_GetID)(ODContainer *somSelf, Environment *ev);
- typedef ODContainerName (* SOMLINK somTD_ODContainer_GetName)(ODContainer *somSelf, Environment *ev);
- typedef void (* SOMLINK somTD_ODContainer_SetName)(ODContainer *somSelf, Environment *ev,
- ODContainerName name);
- typedef ODDocument* (* SOMLINK somTD_ODContainer_GetDocument)(ODContainer *somSelf, Environment *ev,
- ODDocumentID id);
- typedef void (* SOMLINK somTD_ODContainer_InitContainer)(ODContainer *somSelf, Environment *ev,
- ODStorageSystem* system,
- ODContainerID id);
- typedef ODContainer* (* SOMLINK somTD_ODContainer_Create)(ODContainer *somSelf, Environment *ev);
- typedef ODContainer* (* SOMLINK somTD_ODContainer_Open)(ODContainer *somSelf, Environment *ev);
- typedef ODContainer* (* SOMLINK somTD_ODContainer_Close)(ODContainer *somSelf, Environment *ev);
- typedef ODContainer* (* SOMLINK somTD_ODContainer_ReleaseDocument)(ODContainer *somSelf, Environment *ev,
- ODDocument* document);
- }
-
- #endif /* ODContainer_API */
-
-
- /*
- * -- Method Tokens are Thunks
- */
- #undef somresolve_
- #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
-
- /*
- * -- The C++ Wrapper Class for ODContainer
- */
- class ODContainer : public ODRefCntObject
- {
- public:
-
- void *operator new(size_t size)
- {
- SOM_IgnoreWarning(size);
- if (!ODContainerClassData.classObject)
- ODContainerNewClass(ODContainer_MajorVersion,ODContainer_MinorVersion);
- return (void *)
- ((somTD_SOMClass_somNew)
- somresolve_((SOMObject *)((void*)(ODContainerClassData.classObject)),
- SOMClassClassData.somNew))
- ((SOMClass *)((void*)(ODContainerClassData.classObject)));
- }
-
- void operator delete(void * obj)
- {
- ((SOMObject *)obj)->somFree();
- }
-
- /* public method: GetStorageSystem */
- ODStorageSystem* GetStorageSystem(Environment *ev)
- {
- return SOM_Resolve(this,ODContainer,GetStorageSystem)
- (this,ev);
- }
-
-
- /* public method: GetID */
- ODContainerID GetID(Environment *ev)
- {
- return SOM_Resolve(this,ODContainer,GetID)
- (this,ev);
- }
-
-
- /* public method: GetName */
- ODContainerName GetName(Environment *ev)
- {
- return SOM_Resolve(this,ODContainer,GetName)
- (this,ev);
- }
-
-
- /* public method: SetName */
- void SetName(Environment *ev,
- ODContainerName name)
- {
- SOM_Resolve(this,ODContainer,SetName)
- (this,ev,name);
- }
-
-
- /* public method: GetDocument */
- ODDocument* GetDocument(Environment *ev,
- ODDocumentID id)
- {
- return SOM_Resolve(this,ODContainer,GetDocument)
- (this,ev,id);
- }
-
-
- /* public method: InitContainer */
- void InitContainer(Environment *ev,
- ODStorageSystem* system,
- ODContainerID id)
- {
- SOM_Resolve(this,ODContainer,InitContainer)
- (this,ev,system,id);
- }
-
-
- /* public method: Create */
- ODContainer* Create(Environment *ev)
- {
- return SOM_Resolve(this,ODContainer,Create)
- (this,ev);
- }
-
-
- /* public method: Open */
- ODContainer* Open(Environment *ev)
- {
- return SOM_Resolve(this,ODContainer,Open)
- (this,ev);
- }
-
-
- /* public method: Close */
- ODContainer* Close(Environment *ev)
- {
- return SOM_Resolve(this,ODContainer,Close)
- (this,ev);
- }
-
-
- /* public method: ReleaseDocument */
- ODContainer* ReleaseDocument(Environment *ev,
- ODDocument* document)
- {
- return SOM_Resolve(this,ODContainer,ReleaseDocument)
- (this,ev,document);
- }
-
-
-
- }; /* ODContainer */
-
-
-
- #endif /* SOM_ODContainer_xh */
-